iT邦幫忙

2022 iThome 鐵人賽

DAY 3
0

要寫出好的Code,優秀的架構必不可少
而Android經過10年以上的發展
過程中其他的領域向是網頁端也有很多變化
架構也有很多的演進
這篇主要聊 MVC 和 MVVM
MVP和MVI因為筆者不怎麼熟悉就只會稍微帶過

MVC

剛開始的Android架構就是MVC,那什麼是MCV呢?
M:Model,數據層(SQLite、網路...)
V:View,視圖層(XML)
C:Controller,控制層(Activity)

舉個例子圖解:點擊+1後畫面數字加一
https://ithelp.ithome.com.tw/upload/images/20220908/20145692ds4mg9pdZs.png

  1. V層 通知 C層 輸入事件
  2. C層 通知 M層 數據操作
  3. M層 通知 C層 數據更改
  4. C層 通知 V層 UI更新

優點:
缺點:

MVVM/MVI

MVVM和MVI我會一起講
因為MVVM和MVI本質上非常類似,核心都是數據驅動界面
所以可以把MVI理解成MVVM的子級,一種特殊規範的MVVM
又或是說,透過規範,MVVM是能實現MVI的 (個人理解,如有錯誤煩請指證
那主要會以MVVM介紹為主
M:Model,數據層
V:View,視圖層
VM:ViewModel,視圖模型

那也是舉剛剛的例子圖解:點擊+1後畫面數字加一

參考資料:
https://developer.android.com/jetpack/guide
https://juejin.cn/post/7048980213811642382
https://juejin.cn/post/7043716896767606798#heading-6
https://blog.51cto.com/u_15719342/5648244


上一篇
2. Compose簡介:聲明式 vs 命令式
下一篇
4. Compose簡介: 文檔、相容性與版本等等注意事項
系列文
Jetpack Compose 輕易入門 :無障礙的開箱即用8
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言